#include<bits/stdc++.h>
#define rg register
#define file(x)freopen(x".in","r",stdin);freopen(x".out","w",stdout)

using namespace std;

const long long mod=1e9+7;
inline long long ksm(long long a,long long b)
{
	long long re=1;
	while(b)
	{
		if(b&1)re=re*a%mod;
		a=a*a%mod;
		b>>=1;
	}
	return re;
}
inline void Adder(long long &x,long long y)
{
	if((x+=y)>=mod)x-=mod;
}
inline void Reduce(long long &x,long long y)
{
	if((x-=y)<0)x+=mod;
}

struct Matrix{
	long long M[4][4];
	inline Matrix()
	{
		for(rg int i=0;i<4;i+=1)
			for(rg int j=0;j<4;j+=1)
				M[i][j]=0;
	}
};
inline Matrix operator * (const Matrix one,const Matrix two)
{
	Matrix re;
	for(rg int i=0;i<4;i+=1)
		for(rg int j=0;j<4;j+=1)
			for(rg int k=0;k<4;k+=1)
				Adder(re.M[i][j],one.M[i][k]*two.M[k][j]%mod);
	return re;
}
inline Matrix operator ^ (Matrix one,long long b)
{
	Matrix re;
	for(rg int i=0;i<4;i+=1)re.M[i][i]=1;
	while(b)
	{
		if(b&1)re=re*one;
		one=one*one;
		b>>=1;
	}
	return re;
}

const int maxm=1e5+10;

int n,m,X;
char S[maxm];

Matrix Base;
inline pair<long long,long long>Query(int n,int a,int b)
{
	auto re=(Base^n);
	Matrix Ori;
	Ori.M[0][(b<<1)+a]=1;
	Ori=Ori*re;
	return make_pair((Ori.M[0][0]+Ori.M[0][2])%mod,(Ori.M[0][1]+Ori.M[0][3])%mod);
}

int main()
{
	file("pearl");
	scanf("%d %d %d",&n,&m,&X);
	scanf("%s",S+1);
	long long Ans=0;
	bool flag=false;
	for(rg int i=1;i<=m;i+=1)
	{
		for(rg int j=0;j<4;j+=1)
			for(rg int k=0;k<4;k+=1)
				Base.M[j][k]=0;
		for(rg int j=0;j<2;j+=1)
		{
			Base.M[0+j][0+j]=1;
			Base.M[0+j][2+j]=ksm(2,i)-1;
		}
		for(rg int j=0;j<2;j+=1)
		{
			Base.M[2+j][2+(j^1)]=ksm(2,i-1);
			Base.M[2+j][2+j]=ksm(2,i-1)-1;
			Base.M[2+j][0+j]=1;
		}
		flag|=S[i]=='1';
		auto [a,b]=Query(X-1,S[i]-'0',flag);
		auto [c,d]=Query(n-X,0,flag);
		if(i==2)
		{
//			cerr<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
		}
		long long count=0;
		Adder(count,a*d%mod);
		Adder(count,b*c%mod);
		count=count*ksm(ksm(2,m-i),n-1)%mod;
		Adder(Ans,ksm(2,i-1)*count%mod);
//		cerr<<i<<" "<<count<<endl;
	}
	printf("%lld\n",Ans);
	return 0;
}
